package cn.xdf.learn.leetcode.回文数;

public class 回文数 {


    /**
     * 给你一个整数 x ，如果 x 是一个回文整数，返回 true ；否则，返回 false 。
     *
     * 回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
     *
     * 例如，121 是回文，而 123 不是。
     * 示例 1：
     *
     * 输入：x = 121
     * 输出：true
     * 示例 2：
     *
     * 输入：x = -121
     * 输出：false
     * 解释：从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
     * 示例 3：
     *
     * 输入：x = 10
     * 输出：false
     * 解释：从右向左读, 为 01 。因此它不是一个回文数。
     * 提示：
     *
     * -231 <= x <= 231 - 1
     * @param x
     * @return
     */
    public boolean isPalindrome(int x) {

        if (x < 0) {
            return false;
        }
        if (x < 10) {
            return true;
        }

        String s = String.valueOf(x);

        boolean isPalindrome = false;

        //12   0-1,  2/2=1
        //121  0-2,1-1   3/2=1
        //1212 0-3,1-2   4/2=2
        for (int i = 0; i < (s.length() / 2); i++) {
            if (s.charAt(i) != s.charAt(s.length() - 1 - i)) {
                isPalindrome = false;
                break;
            }

            isPalindrome = true;

        }


        return isPalindrome;
    }


}
